// AnsiSequenceCollection.h: interface for the CAnsiSequenceCollection class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_ANSISEQUENCECOLLECTION_H__DCCC5B95_4C91_4437_97FB_37DD632B187C__INCLUDED_)
#define AFX_ANSISEQUENCECOLLECTION_H__DCCC5B95_4C91_4437_97FB_37DD632B187C__INCLUDED_

#include "IAnsiScreen.h"
#include "IAnsiSequenceCollection.h"
#include "DisplayAttributeSequence.h"
#include "MoveLeftSequence.h"
#include "MoveUpSequence.h"
#include "MoveRightSequence.h"
#include "MoveDownSequence.h"
#include "MoveToSequence.h"
#include "EraseScreenSequence.h"
#include "EraseLineSequence.h"
#include "UnknownSequence.h"
#include "InsertLineSequence.h"
#include "DelaySequence.h"

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class CAnsiSequenceCollection : public IAnsiSequenceCollection
{
private:
	CDisplayAttributeSequence m_displayAttributeSeqence;
	
	CMoveLeftSequence m_moveLeftSequence;
	CMoveUpSequence m_moveUpSequence;
	CMoveRightSequence m_moveRightSequence;
	CMoveDownSequence m_moveDownSequence;
	CMoveToSequence m_moveToSequence;

	CEraseScreenSequence m_eraseScreenSequence;
	CEraseLineSequence m_eraseLineSequence;
	CUnknownSequence m_unknownSequence;
	CInsertLineSequence m_insertLineSequence;

	CDelaySequence m_delaySequence;

public:
	virtual CAnsiSequence* FindSequence(const char FINAL_CHAR);

public:
	CAnsiSequenceCollection(IAnsiScreen *pAnsiScreen);
	virtual ~CAnsiSequenceCollection();

};

#endif // !defined(AFX_ANSISEQUENCECOLLECTION_H__DCCC5B95_4C91_4437_97FB_37DD632B187C__INCLUDED_)
